<?php

/*
	JSON的四个基本规则

	1）并列的数据之间用 ， 分隔
	2）映射用 ：表示
	3）并列数据的集合(数组)用[]表示
	4）映射的集合(对象)用{}表示
 */




//数组到JSON数据格式的转换
$array_1 = array();
$array_2 = array();

$array_1['username'] = 'abc';
$array_1['age'] = '25';

$array_2['member']['zhang']['username'] = 'cba';
$array_2['member']['zhang']['age'] = '52';


$array_2['member']['li']['username'] = 'aaa';
$array_2['member']['li']['age'] = '26';


// print_r($array_2);

// $jsonObj_1 = json_encode($array_1);
// echo $jsonObj_1;


// $jsonObj_2 = json_encode($array_2);
// echo $jsonObj_2;


//对象到JSON数据格式的转换
class muke{
	public $name = 'name';
	protected $pName = 'pName';
	private $rName = 'rName';

	public function getName(){
		return $this->name;
	}
}


$mukeObj = new muke();

//对象转换为json数据时，只转换公有变量。私有变量不转换
$mukeObj2 = json_encode($mukeObj);
// echo $mukeObj2;

// print_r($mukeObj);

//JSON数据格式到数组、对象的转换
$jsonStr = '{"key":"value","key1":"value2"}';

$json1arr = json_decode($jsonStr);//转换为对象
$json2arr = json_decode($jsonStr,true);//转换为数组
print_r($json1arr);
print_r($json2arr);
?>